package zhongbo.java.air.dictionary.service;

import org.springframework.stereotype.Service;
import zhongbo.java.air.common.vo.PageVo;
import zhongbo.java.air.dictionary.model.AirCraft;

import java.util.List;

/**
 * 说明：
 * 飞机信息相关服务
 *
 * @author 钟波dellNotebook
 * @since 2025年03月31日 星期一 08:28:57
 */
//@Service
public interface IAirCraftService {

    // 增删改查,和支持指定字段排序的分页功能

    /**
     * 新增一架飞机
     * @param airCraft 飞机对象
     * @return 此次新增飞机的id
     */
    String addAirCraft(AirCraft airCraft);

    /**
     * 更改飞机信息
     * @param airCraft 飞机对象
     * @return 返回修改后的飞机对象
     */
    AirCraft updateAirCraft(AirCraft airCraft);

    /**
     * 根据id删除飞机
     * @param airId
     * @return 受到影响行数
     */
    int deleteAirCraft(String airId);

    /**
     * 根据id获取飞机
     * @param airId
     * @return 飞机对象
     */
    AirCraft getAirCraftById(String airId);

    /**
     * 获取所有的飞机列表
     * @return 已有的飞机列表
     */
    List<AirCraft> getAirCraftAll();

    /**
     * 分页查询
     * @param aircraftType 被查询数据（可为空）
     * @param pageNumber 当前页码
     * @param pageSize 每页数据量
     * @return 分页查询
     */
    PageVo<AirCraft> page(String aircraftType, int pageNumber, int pageSize);

}
